BGP如何被劫持?當(dāng)一個(gè) AS 宣布一條到它實(shí)際上并不控制的 IP 前綴的路由時(shí),如果沒(méi)有過(guò)濾,這個(gè)宣布可以傳播并添加到 Internet 上的 BGP 路由器的路由表中。從那時(shí)起,直到有人注意到并更正路由,到這些 IP 的流量將被路由到該 AS。如果沒(méi)有地方政府來(lái)核實(shí)和執(zhí)行財(cái)產(chǎn)契約,這就像聲稱領(lǐng)土一樣。
BGP 始終偏向于到達(dá)所需 IP 地址的最短、最具體的路徑。為了使 BGP 劫持成功,路由公告必須:
- 1) 通過(guò)宣布比其他 AS 先前宣布的更小的 IP 地址范圍,提供更具體的路由。
- 2) 為某些 IP 地址塊提供更短的路由。此外,并非任何人都可以向更大的 Internet 發(fā)布 BGP 路由。為了發(fā)生 BGP 劫持,必須由 AS 的運(yùn)營(yíng)商或已破壞 AS 的威脅行為者發(fā)布公告(第二種情況更罕見(jiàn))。
大型網(wǎng)絡(luò)或網(wǎng)絡(luò)組(其中許多是 ISP)的運(yùn)營(yíng)商會(huì)厚顏無(wú)恥地進(jìn)行此類惡意活動(dòng),這似乎令人驚訝。但考慮到從某些方面來(lái)看,現(xiàn)在全球有超過(guò) 80,000 個(gè)自治系統(tǒng),因此有些不值得信賴也就不足為奇了。此外,BGP 劫持并不總是很明顯或易于檢測(cè)。不良行為者可能會(huì)在其他 AS 后面掩飾他們的活動(dòng),或者可能會(huì)宣布不太可能被注意到的未使用的 IP 前綴塊,以保持在雷達(dá)之下。
當(dāng)BGP被劫持時(shí)會(huì)發(fā)生什么?
作為 BGP 劫持的結(jié)果,互聯(lián)網(wǎng)流量可能會(huì)走錯(cuò)路、被監(jiān)控或攔截、成為“黑洞”或作為路徑攻擊的一部分被定向到虛假網(wǎng)站。此外,垃圾郵件發(fā)送者可以使用 BGP 劫持或?qū)嵤?BGP 劫持的 AS 網(wǎng)絡(luò),以欺騙合法 IP 進(jìn)行垃圾郵件發(fā)送。從用戶的角度來(lái)看,頁(yè)面加載時(shí)間會(huì)增加,因?yàn)檎?qǐng)求和響應(yīng)不會(huì)遵循最有效的網(wǎng)絡(luò)路由,甚至可能不必要地穿越世界。
在最好的情況下,流量只會(huì)走一條不必要的長(zhǎng)路線,從而增加延遲。在最壞的情況下,攻擊者可能會(huì)進(jìn)行路徑攻擊,或?qū)⒂脩糁囟ㄏ虻教摷倬W(wǎng)站以竊取憑據(jù)。
現(xiàn)實(shí)世界中的BGP劫持
有許多故意 BGP 劫持的真實(shí)例子。例如,在 2018 年 4 月,一家俄羅斯提供商宣布了許多實(shí)際上屬于 Route53 Amazon DNS 服務(wù)器的 IP 前綴(IP 地址組)。簡(jiǎn)而言之,最終結(jié)果是嘗試登錄加密貨幣網(wǎng)站的用戶被重定向到由黑客控制的虛假網(wǎng)站版本。黑客因此能夠竊取大約 152,000 美元的加密貨幣。(更具體地說(shuō):通過(guò) BGP 劫持,黑客劫持了 Amazon DNS 查詢,以便 myetherwallet.com 的 DNS 查詢轉(zhuǎn)到他們控制的服務(wù)器,返回錯(cuò)誤的 IP 地址,并將HTTP請(qǐng)求定向到虛假網(wǎng)站。
BGP 劫持的無(wú)意實(shí)例也很普遍,它們可能對(duì)整個(gè)全球互聯(lián)網(wǎng)產(chǎn)生負(fù)面影響。2008 年,巴基斯坦國(guó)有的巴基斯坦電信試圖通過(guò)更新其網(wǎng)站的 BGP 路由來(lái)審查巴基斯坦境內(nèi)的 Youtube。看似偶然,新路線被宣布給巴基斯坦電信的上游供應(yīng)商,并從那里廣播到整個(gè)互聯(lián)網(wǎng)。突然間,所有對(duì) Youtube 的網(wǎng)絡(luò)請(qǐng)求都被定向到了巴基斯坦電信,導(dǎo)致該網(wǎng)站幾乎整個(gè)互聯(lián)網(wǎng)都出現(xiàn)了長(zhǎng)達(dá)數(shù)小時(shí)的中斷,并使 ISP 不堪重負(fù)。
用戶和網(wǎng)絡(luò)如何防御BGP劫持?
除了持續(xù)監(jiān)控互聯(lián)網(wǎng)流量的路由方式外,用戶和網(wǎng)絡(luò)在防止 BGP 劫持方面幾乎無(wú)能為力。
- IP前綴過(guò)濾:大多數(shù)網(wǎng)絡(luò)應(yīng)該只在必要時(shí)接受 IP 前綴聲明,并且應(yīng)該只向某些網(wǎng)絡(luò)而不是整個(gè) Internet 聲明它們的 IP 前綴。這樣做有助于防止意外的路由劫持,并可以防止 AS 接受虛假的 IP 前綴聲明;然而,在實(shí)踐中這很難執(zhí)行。
- BGP劫持檢測(cè):延遲增加、網(wǎng)絡(luò)性能下降和互聯(lián)網(wǎng)流量定向錯(cuò)誤都是 BGP 劫持的可能跡象。許多大型網(wǎng)絡(luò)將監(jiān)控 BGP 更新,以確保其客戶不會(huì)面臨延遲問(wèn)題,而一些安全研究人員實(shí)際上確實(shí)會(huì)監(jiān)控 Internet 流量并發(fā)布他們的發(fā)現(xiàn)。
- 使 BGP 更安全:BGP 旨在使 Internet 正常工作,而且它確實(shí)做到了這一點(diǎn)。但是 BGP 的設(shè)計(jì)并沒(méi)有考慮到安全性。正在為整個(gè) Internet 開(kāi)發(fā)更安全的路由解決方案(例如 BGPsec),但尚未采用它們。目前,BGP 本質(zhì)上是脆弱的,并將繼續(xù)如此。